package com.wjn.wjnpicturebackend.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wjn.wjnpicturebackend.model.dto.space.analyze.*;
import com.wjn.wjnpicturebackend.model.entity.Picture;
import com.wjn.wjnpicturebackend.model.entity.Space;
import com.wjn.wjnpicturebackend.model.entity.User;
import com.wjn.wjnpicturebackend.model.vo.sapce.analyze.SpaceCategoryAnalyzeResponse;
import com.wjn.wjnpicturebackend.model.vo.sapce.analyze.SpaceSizeAnalyzeResponse;
import com.wjn.wjnpicturebackend.model.vo.sapce.analyze.SpaceTagAnalyzeResponse;
import com.wjn.wjnpicturebackend.model.vo.sapce.analyze.SpaceUserAnalyzeResponse;

import java.util.List;

/**
 * ClassName: SpaceAnalyze‍Service
 * Package: com.wjn.wjnpicturebackend.service
 * Description:
 *
 * @Author cqupt-wjn
 * @Create 2025/6/18 18:09
 * @Version 1.0
 */
public interface SpaceAnalyzeService extends  IService<Space> {
    void checkSpaceAnalyzeAuth(SpaceAnalyzeRequest spaceAnalyzeRequest, User loginUser);

    SpaceUsageAnalyzeResponse getSpaceUsageAnalyze(SpaceUsageAnalyzeRequest spaceUsageAnalyzeRequest, User loginUser);

    List<SpaceCategoryAnalyzeResponse> getSpaceCategoryAnalyze(SpaceCategoryAnalyzeRequest spaceCategoryAnalyzeRequest, User loginUser);

    List<SpaceTagAnalyzeResponse> getSpaceTagAnalyze(SpaceTagAnalyzeRequest spaceTagAnalyzeRequest, User loginUser);

    List<SpaceSizeAnalyzeResponse> getSpaceSizeAnalyze(SpaceSizeAnalyzeRequest spaceSizeAnalyzeRequest, User loginUser);

    List<SpaceUserAnalyzeResponse> getSpaceUserAnalyze(SpaceUserAnalyzeRequest spaceUserAnalyzeRequest, User loginUser);

    List<Space> getSpaceRankAnalyze(SpaceRankAnalyzeRequest spaceRankAnalyzeRequest, User loginUser);
}
